This section describes higher-level commands for inserting text, commands intended primarily for the user but useful also in Lisp programs.
This command inserts the entire accessible contents of
from-buffer-or-name (which must exist) into the
current buffer after point. It leaves the mark after the
inserted text. The value is nil.
This command inserts the last character typed; it does so
count times, before point, and returns
nil. Most printing characters are bound to this
command. In routine use, self-insert-command is
the most frequently called function in Emacs, but programs
rarely use it except to install it on a keymap.
In an interactive call, count is the numeric prefix argument.
Self-insertion translates the input character through
translation-table-for-input. See Translation
of Characters.
This command calls auto-fill-function
whenever that is non-nil and the character
inserted is in the table auto-fill-chars (see
Auto
Filling).
This command performs abbrev expansion if Abbrev mode is
enabled and the inserted character does not have
word-constituent syntax. (See Abbrevs, and Syntax Class
Table.) It is also responsible for calling
blink-paren-function when the inserted character
has close parenthesis syntax (see Blinking).
The final thing this command does is to run the hook
post-self-insert-hook. You could use this to
automatically reindent text as it is typed, for example.
Do not try substituting your own definition of
self-insert-command for the standard one. The
editor command loop handles this function specially.
This command inserts newlines into the current buffer before point. If number-of-newlines is supplied, that many newline characters are inserted.
This function calls auto-fill-function if the
current column number is greater than the value of
fill-column and number-of-newlines is
nil. Typically what
auto-fill-function does is insert a newline;
thus, the overall result in this case is to insert two
newlines at different places: one at point, and another
earlier in the line. newline does not auto-fill
if number-of-newlines is non-nil.
This command indents to the left margin if that is not zero. See Margins.
The value returned is nil. In an interactive
call, count is the numeric prefix argument.
This variable controls whether overwrite mode is in
effect. The value should be
overwrite-mode-textual,
overwrite-mode-binary, or nil.
overwrite-mode-textual specifies textual
overwrite mode (treats newlines and tabs specially), and
overwrite-mode-binary specifies binary overwrite
mode (treats newlines and tabs like any other
characters).